#include <WiFi.h>
#include <WiFiUdp.h>

WiFiUDP Udp; //  创建udp

const char *ssid = "ESP32_WIFI";
const char *password = "12345678";

IPAddress local_IP(192, 168, 144, 10);
IPAddress gateway(192, 168, 144, 1);
IPAddress subnet(255, 255, 255, 0);
char Rdata[255];

//WIFI初始化
void initWiFi(){
    //WiFi.mode(WIFI_AP);
    WiFi.softAPConfig(local_IP, gateway, subnet);
    WiFi.softAP(ssid, password);
    //WiFi.softAPsetHostname("ESP32");
    Serial.print("IP location:");
    Serial.println(WiFi.softAPIP());
    Udp.begin(2023);
}

void setup(){
  Serial.begin(115200); 
  initWiFi();
}

void loop(){

    int data = Udp.parsePacket();
    if (data > 0){
        Serial.printf("Received %d byte %s, port %d \n", data, Udp.remoteIP().toString().c_str(), Udp.remotePort()); // 串口接收到 的数据  发送端IP
        Udp.read(Rdata, 255);
        Serial.printf(Rdata);
    }
    if (data > 0){
        String res="hello i am esp32";
        Udp.beginPacket(Udp.remoteIP(), Udp.remotePort());
        Udp.print(res);
        Udp.endPacket();
    }
    data = 0;
}
